# -*- coding: utf-8 -*-
from django.conf.urls.defaults import *

from usuarios.views import auth_direct_to_template
from usuarios.views import auth_gridcrud_run

from usuarios.gridcrud import UsuarioGridCrud, GrupoGridCrud
from usuarios.decorators import superuser_required

@superuser_required
def my_auth_run(*args, **kwargs):
    return auth_gridcrud_run(*args, **kwargs)

@superuser_required
def my_direct_to_template(*args, **kwargs):
    return auth_direct_to_template(*args, **kwargs)

urlpatterns = patterns('',
    url(r'^login/$', 'usuarios.views.login.login', name='usuario.login'),
    url(r'^logout/$', 'usuarios.views.login.logout', name='usuario.logout'),

    url(r'^$', my_direct_to_template, {'template': 'usuarios/listar.html'}, name='usuario.listar'),
    url(r'^lista/$', my_auth_run, {'klass': UsuarioGridCrud, 'func': 'list'}, name='usuario.listar.grid'),
    url(r'^novo/$', my_auth_run, {'klass': UsuarioGridCrud, 'func': 'form'}, name='usuario.novo'),
    url(r'^novo/salvar/$', my_auth_run, {'klass': UsuarioGridCrud, 'func': 'form'}, name='usuario.novo.salvar'),
    url(r'^editar/(?P<id>[0-9]+)/$', my_auth_run, {'klass': UsuarioGridCrud, 'func': 'form'}, name='usuario.editar'),
    url(r'^editar/(?P<id>[0-9]+)/salvar/$', my_auth_run, {'klass': UsuarioGridCrud, 'func': 'form'}, name='usuario.editar.salvar'),

    url(r'^grupo/$', my_direct_to_template, {'template': 'usuarios/grupo_listar.html'}, name='grupo.listar'),
    url(r'^grupo/listar/grid/$', my_auth_run, {'klass': GrupoGridCrud, 'func': 'list'}, name='grupo.listar.grid'),
    url(r'^grupo/novo/$', my_auth_run, {'klass': GrupoGridCrud, 'func': 'form'}, name='grupo.novo'),
    url(r'^grupo/novo/salvar/$', my_auth_run, {'klass': GrupoGridCrud, 'func': 'form'}, name='grupo.novo.salvar'),
    url(r'^grupo/editar/(?P<id>[0-9]+)/$', my_auth_run, {'klass': GrupoGridCrud, 'func': 'form'}, name='grupo.editar'),
    url(r'^grupo/editar/(?P<id>[0-9]+)/salvar/$', my_auth_run, {'klass': GrupoGridCrud, 'func': 'form'}, name='grupo.editar.salvar'),
    url(r'^grupo/remover/(?P<id>[0-9]+)/$', my_auth_run, {'klass': GrupoGridCrud, 'func': 'delete'}, name='grupo.remover'),


    #Autocomplete de Permissoes para Grupo
    url(r'^autocomplete/permissoes/$', 'usuarios.views.autocomplete.permissoes', name='autocomplete.permissoes'), 
)
